package com.bdtop.dbl.ui.activities.device;
///**
//  * @FileName: BleDeviceScanActivity.java
//  * @Package:com.bdtop.dbl.ui.activities.device
//  * @Description: TODO
//  * @author: MingjunLi
//  * @date:2014-9-28
//  * @version V1.0
//  */
//package com.bdtop.dbl.ui.activities.device;
//
//import android.annotation.TargetApi;
//import android.app.Activity;
//import android.bluetooth.BluetoothAdapter;
//import android.bluetooth.BluetoothDevice;
//import android.bluetooth.BluetoothManager;
//import android.content.Context;
//import android.content.Intent;
//import android.os.Build;
//import android.os.Bundle;
//import android.os.Handler;
//import android.os.Message;
//import android.view.View;
//import android.view.View.OnClickListener;
//import android.widget.AdapterView;
//import android.widget.AdapterView.OnItemClickListener;
//import android.widget.Button;
//import android.widget.ListView;
//
//import com.bdtop.dbl.BaseActivity;
//import com.bdtop.dbl.R;
//import com.bdtop.dbl.ui.adapters.BleDeviceListAdapter;
//import com.bdtop.dbl.ui.widgets.TitleBar;
//
///**
// * @ClassName: BleDeviceScanActivity
// * @Description: TODO
// * @author: MingjunLi
// * @date:2014-9-28
// */
//@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
//public class BleDeviceScanActivity extends BaseActivity {
//    
//    // Stops scanning after 10 seconds.
//    private static final long SCAN_PERIOD = 10000;
//    
//    // MSG
//    private static final int MSG_START_SCAN = 1;
//    private static final int MSG_STOP_SCAN = 2;
//    
//    private static final int REQUEST_ENABLE_BT = 1;
//    
//    private BluetoothAdapter mBluetoothAdapter;
//    
//    private TitleBar mTitleBar;
//    private ListView mBleDeviceListView;
//    private Button mScanningBtn;
//    
//    private BleDeviceListAdapter mListAdapter;
//    
//    private boolean mScanning = false;
//
//    public static void launch(Context context) {
//        Intent intent = new Intent(context, BleDeviceScanActivity.class);
//        context.startActivity(intent);
//    }
//    
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        
//        setContentView(R.layout.activity_ble_scan);
//        initViews();
//        
//        // Initializes a Bluetooth adapter.  For API level 18 and above, get a reference to
//        // BluetoothAdapter through BluetoothManager.
//        final BluetoothManager bluetoothManager =
//                (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);
//        mBluetoothAdapter = bluetoothManager.getAdapter();
//    }
//    
//    @Override
//    protected void onResume() {
//        super.onResume();
//        
//        // Ensures Bluetooth is enabled on the device.  If Bluetooth is not currently enabled,
//        // fire an intent to display a dialog asking the user to grant permission to enable it.
//        if (!mBluetoothAdapter.isEnabled()) {
//            if (!mBluetoothAdapter.isEnabled()) {
//                Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
//                startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
//            }
//        }
//        else {
//            mHandler.sendEmptyMessage(MSG_START_SCAN);
//        }
//    }
//    
//    @Override
//    protected void onDestroy() {
//        super.onDestroy();
//
//        mHandler.removeMessages(MSG_START_SCAN);
//        mHandler.removeMessages(MSG_STOP_SCAN);
//    }
//    
//    private void initViews() {
//        mTitleBar = (TitleBar) findViewById(R.id.title_bar);
//        mTitleBar.setTitle(R.string.select_paired_ble_device_title);
//        mTitleBar.setBelongActivity(this);
//        
//        mBleDeviceListView = (ListView) findViewById(R.id.ble_device_list);
//        mBleDeviceListView.setOnItemClickListener(mOnItemClickListener);
//        
//        mListAdapter = new BleDeviceListAdapter(this);
//        mBleDeviceListView.setAdapter(mListAdapter);
//        
//        mScanningBtn = (Button) findViewById(R.id.scan_ble_device);
//        mScanningBtn.setOnClickListener(mOnClickListener);
//    }
//    
//    private OnClickListener mOnClickListener = new OnClickListener() {
//        
//        @Override
//        public void onClick(View v) {
//            switch (v.getId()) {
//                case R.id.scan_ble_device:
//                    if (mScanning) {
//                        mHandler.removeMessages(MSG_STOP_SCAN);
//                        mHandler.sendEmptyMessage(MSG_STOP_SCAN);
//                    }
//                    else {
//                        mHandler.sendEmptyMessage(MSG_START_SCAN);
//                    }
//                    break;
//
//                default:
//                    break;
//            }
//        }
//    };
//    
//    private OnItemClickListener mOnItemClickListener = new OnItemClickListener() {
//
//        @Override
//        public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
//            final BluetoothDevice device = (BluetoothDevice) mListAdapter.getItem(position);
//            if (null == device) {
//                return;
//            }
//            
//            RadarModeActivity.launch(BleDeviceScanActivity.this, device);
//            mHandler.sendEmptyMessage(MSG_STOP_SCAN);
//            finish();
//        }
//    };
//    
//    @Override
//    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//        // User chose not to enable Bluetooth.
//        if (requestCode == REQUEST_ENABLE_BT && resultCode == Activity.RESULT_CANCELED) {
//            finish();
//            return;
//        }
//        super.onActivityResult(requestCode, resultCode, data);
//    }
//    
//    // Device scan callback.
//    private BluetoothAdapter.LeScanCallback mLeScanCallback =
//            new BluetoothAdapter.LeScanCallback() {
//
//        @Override
//        public void onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord) {
//            runOnUiThread(new Runnable() {
//                @Override
//                public void run() {
//                    mListAdapter.addDevice(device);
//                }
//            });
//        }
//    };
//    
//    private final Handler mHandler = new Handler() {
//        
//        @Override
//        public void handleMessage(Message msg) {
//            switch (msg.what) {
//                case MSG_START_SCAN:
//                    mScanning = true;
//                    mScanningBtn.setText(R.string.cancel);
//                    mBluetoothAdapter.startLeScan(mLeScanCallback);
//                    mHandler.sendEmptyMessageDelayed(MSG_STOP_SCAN, SCAN_PERIOD);
//                    break;
//                    
//                case MSG_STOP_SCAN:
//                    mScanning = false;
//                    mScanningBtn.setText(R.string.ok);
//                    mBluetoothAdapter.stopLeScan(mLeScanCallback);
//                    break;
//
//                default:
//                    break;
//            }
//        }
//    };
//    
//    
//}
